/* 引入核心vue */
import Vue from 'vue'
/* 引入组件APP */
import App from './App.vue'
/* 引入路由 */
import VueRouter from 'vue-router';

/* element-ui */
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';

/* 公共样式 */
import './assets/css/common.css'

/* 引入路由 */
import router from './router';

/* 引入store 仓库 */
import store from './store';
import { nanoid } from 'nanoid';

//引入echarts
import * as echarts from 'echarts'
//vue全局注入echarts
Vue.prototype.$echarts = echarts;

/* 使用插件 */
Vue.use(ElementUI)
Vue.use(VueRouter)

/* 关闭原厂提示 */
Vue.config.productionTip = false
/* 全局过滤器 格式化时间 */
Vue.filter("fmtDateTime", function (value) {
  let now = new Date(value),
    y = now.getFullYear(),
    m = now.getMonth() + 1,
    d = now.getDate();
  return `${y}-${m}-${d}`
})
/* 创建vue实例对象 */
new Vue({
  render: h => h(App),
  router,
  store,
  beforeCreate() {
    // 安装全局组件事件总线
    Vue.prototype.$bus = this

  },
  mounted() {
    /* 将vm挂到store里 */
    this.$store.commit("music/GETVM", this)

    /* 欢迎词 */
    this.$store.dispatch("user/insertSiteMsg", {
      msgId: nanoid(),
      content: "遇见音乐欢迎您！",
      isRead: false,
      date: Date.now()
    })
    /* 异步更新第一次进入平台 */
    this.timer = setTimeout(() => {
      this.$store.commit("music/CHANGEFIRSTSTATE")
    }, 0);
  },
}).$mount('#app')

